;Color section of the script - it might not be completely correct but it works with Modern UI 1.65

!include "MUI.nsh"
!include WinMessages.nsh
!define CmpBC "0082575B" ;Component page box color
!define CmpTC "00D7D7D7" ;Component page box text color
!define TVM_SETBKCOLOR 0x111D
!define TVM_SETTEXTCOLOR 0x111E

Function CustomPageA
!insertmacro MUI_HEADER_TEXT "Welcome to the Install Wizard" "This wizard will guide you through the installation of My Program."

!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioA.ini"
Pop $R0
GetDlgItem $R1 $R0 1200
SetBkColor $R0 0x00D7D7D7
SetBkColor $R1 0x00D7D7D7
GetDlgItem $R2 $R0 1201
SetBkColor $R2 0x00D7D7D7
GetDlgItem $R2 $R0 1202 
SetBkColor $R2 0x00D7D7D7
GetDlgItem $R2 $R0 1203
SetBkColor $R2 0x00D7D7D7
GetDlgItem $R2 $R0 1204
SetBkColor $R2 0x00D7D7D7
CreateFont $R2 "Tahoma" 12 700 
SendMessage $R1 ${WM_SETFONT} $R2 0
	
!insertmacro MUI_INSTALLOPTIONS_SHOW

FunctionEnd

Function CustomPageB
!insertmacro MUI_HEADER_TEXT "Installation Complete" "My Program has been successfully installed."

!insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioB.ini"
Pop $R0
GetDlgItem $R1 $R0 1200
SetBkColor $R0 0x00D7D7D7
SetBkColor $R1 0x00D7D7D7
GetDlgItem $R2 $R0 1201
SetBkColor $R2 0x00D7D7D7
GetDlgItem $R2 $R0 1202 
SetBkColor $R2 0x00D7D7D7
GetDlgItem $R2 $R0 1203
SetBkColor $R2 0x00D7D7D7
GetDlgItem $R2 $R0 1204
SetBkColor $R2 0x00D7D7D7
CreateFont $R2 "Tahoma" 12 700 
SendMessage $R1 ${WM_SETFONT} $R2 0
	
!insertmacro MUI_INSTALLOPTIONS_SHOW

FunctionEnd

!define MUI_CUSTOMFUNCTION_GUIINIT myGuiInit
Function myGuiInit
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioA.ini"
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "ioB.ini"
SetBkColor $HWNDPARENT 0x00D7D7D7
GetDlgItem $0 $HWNDPARENT 1256
SetBkColor $0 0x00D7D7D7
GetDlgItem $2 $HWNDPARENT 1037
SetBkColor $2 0x0082575B
GetDlgItem $2 $HWNDPARENT 1038
SetBkColor $2 0x0082575B
GetDlgItem $2 $HWNDPARENT 1039
SetBkColor $2 0x0082575B
GetDlgItem $2 $HWNDPARENT 1034
SetBkColor $2 0x0082575B

GetDlgItem $0 $HWNDPARENT 1
SetBkColor $0 0x00D7D7D7
GetDlgItem $0 $HWNDPARENT 2
SetBkColor $0 0x00D7D7D7
GetDlgItem $0 $HWNDPARENT 3
SetBkColor $0 0x00D7D7D7
FunctionEnd

!define MUI_CUSTOMFUNCTION_COMPONENTS_SHOW COMPONENTS
Function COMPONENTS
FindWindow $0 "#32770" "" $HWNDPARENT 
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1032
SendMessage $0 ${TVM_SETBKCOLOR} 0 0x${CmpBC}
SendMessage $0 ${TVM_SETTEXTCOLOR} 0 0x${CmpTC}
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1006
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1022
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1021    
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1023
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1042    
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1043    
SetBkColor $0 0x00D7D7D7
FunctionEnd

!define MUI_CUSTOMFUNCTION_DIRECTORY_SHOW DIRECTORY
Function DIRECTORY
FindWindow $0 "#32770" "" $HWNDPARENT 
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1006
SetBkColor $0 0x00D7D7D7  
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1019
SetBkColor $0 0x00FFFFFF
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1041
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1001
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1008
SetBkColor $0 0x0082575B
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1023
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1024
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1020
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1029
SetBkColor $0 0x00D7D7D7
FunctionEnd

!define MUI_CUSTOMFUNCTION_INSTFILES_SHOW INSTALL
Function INSTALL
FindWindow $0 "#32770" "" $HWNDPARENT 
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1006
SetBkColor $0 0x00D7D7D7
FunctionEnd

!define MUI_CUSTOMFUNCTION_UNGUIINIT Un.GuiInit
Function un.GuiInit
FindWindow $0 "#32770" "" $HWNDPARENT 
SetBkColor $0 0x00D7D7D7
SetBkColor $HWNDPARENT 0x00D7D7D7
GetDlgItem $0 $HWNDPARENT 1256
SetBkColor $0 0x00D7D7D7
GetDlgItem $2 $HWNDPARENT 1037
SetBkColor $2 0x0082575B
GetDlgItem $2 $HWNDPARENT 1038
SetBkColor $2 0x0082575B
GetDlgItem $2 $HWNDPARENT 1039
SetBkColor $2 0x0082575B
GetDlgItem $2 $HWNDPARENT 1034
SetBkColor $2 0x0082575B
GetDlgItem $0 $HWNDPARENT 1
SetBkColor $0 0x00D7D7D7
GetDlgItem $0 $HWNDPARENT 2
SetBkColor $0 0x00D7D7D7
GetDlgItem $0 $HWNDPARENT 3
SetBkColor $0 0x00D7D7D7
FunctionEnd

!define MUI_UNCUSTOMFUNCTION_CONFIRM_SHOW Un.GuiInit2
Function un.GuiInit2
FindWindow $0 "#32770" "" $HWNDPARENT 
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1000
SetBkColor $0 0x00FFFFFF
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1006
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1019
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1041
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1001
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1008
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1023
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1024
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1020
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1029
SetBkColor $0 0x00D7D7D7
FunctionEnd

!define MUI_UNCUSTOMFUNCTION_INSTFILES_SHOW Un.GuiInit3
Function un.GuiInit3
FindWindow $0 "#32770" "" $HWNDPARENT 
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1006
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1018
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1006
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1004
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1027
SetBkColor $0 0x00D7D7D7
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1029
SetBkColor $0 0x00D7D7D7
FunctionEnd

 ReserveFile "ioA.ini"
 ReserveFile "ioB.ini"
 !insertmacro MUI_RESERVEFILE_INSTALLOPTIONS

  Page custom CustomPageA
  !insertmacro MUI_PAGE_COMPONENTS
  !insertmacro MUI_PAGE_DIRECTORY
  !insertmacro MUI_PAGE_INSTFILES
  Page custom CustomPageB
  !insertmacro MUI_UNPAGE_CONFIRM
  !insertmacro MUI_UNPAGE_INSTFILES